1. Field of the Invention
The invention relates to virtual machines and in particular to selecting virtual machine migration targets.
2. Background Information
Processing virtualization involves simulating several virtual machines (VMs), each running a separate operating system (OS) instance. Each OS may run in a different VM. For example, Xen is a virtual machine monitor (VMM), also know as a hypervisor, for managing the VMs that execute on a host operating system to provide the functionality of several guest operating systems on top of the host, on the same computer hardware (physical machine), at the same time. Server virtualization technologies are becoming increasingly commonplace in data centers. These enable applications to be packaged inside virtual machines and allow multiple VMs to run on a single physical machine without interfering with each other. This provides increased utilization of resources and consolidation of server, space and data center costs.
Some systems allow VMs to be migrated from one physical machine to another in real-time without much client perceived downtime. This provides a valuable tool for data center administration for balancing loads and dealing with workload growth and node outages. Certain VM migration techniques determine proper VM migrations (from a source physical machine to a target physical machine) based on server-side parameters only. Such techniques involve monitoring VM resource usages and needs (e.g., CPU, memory, network bandwidth, etc.) dynamically, and responding to hotspots by migrating VMs to other physical machines such as servers, with sufficient remaining capacity along these dimensions.
However, such VM migration techniques select target machines only based on availability of processing capacity (e.g., CPU, memory, network bandwidth) at potential target machines. This, however, leads to selecting a migration target machine that has poor or overloaded connectivity to the storage volumes that a migrating VM accesses, leading to degraded performance.